<?php
namespace app\system\controller;

use app\system\model\AuthRuleSpecial as AuthRuleSpecialModel;
use think\facade\View;

class AuthRuleSpecial extends Base
{
    /**
     * @title   列表
     * @desc    列表描述
     * @author  橘子味的心
     * @version 1.0
     * @method  POST
     * @param   varchar 字段 &nbsp; 字段名 NO
     * @param   int 字段 &nbsp; 字段名 YES
     * @return  int code &nbsp; 返回参数 200/100
     * @return  string message &nbsp; 返回信息 successful
     * @return  array data &nbsp; 返回数据 successful
     */
    public function lst()
    {
        if (request()->isPost()) {
            $authrulespecial = new AuthRuleSpecialModel;
            $limit = input('limit');
            $data = $authrulespecial->getAll($limit);
            return tocode(0, "成功", $data->items(), $data->total());
        }
        return view();
    }
    /**
     * @title   添加提交
     * @desc    添加提交描述
     * @author  橘子味的心
     * @version 1.0
     * @method  POST
     * @param   varchar 字段 &nbsp; 字段名 NO
     * @param   int 字段 &nbsp; 字段名 YES
     * @return  int code &nbsp; 返回参数 200/100
     * @return  string message &nbsp; 返回信息 successful
     * @return  array data &nbsp; 返回数据 successful
     */
    public function add()
    {
        $authrulespecial = new AuthRuleSpecialModel;
        if (request()->isPost()) {
            $data = input('post.');
            if (empty($data)) {
                return tocode(100, '数据不能为空');
            }
            $info = $authrulespecial->info($data);
            if (!$info) {
                return tocode(100, '添加失败');
            }
            return tocode(200, '添加成功！');
        }
        return view('info');
    }
    /**
     * @title   修改提交
     * @desc    修改提交描述
     * @author  橘子味的心
     * @version 1.0
     * @method  POST
     * @param   varchar 字段 &nbsp; 字段名 NO
     * @param   int 字段 &nbsp; 字段名 YES
     * @return  int code &nbsp; 返回参数 200/100
     * @return  string message &nbsp; 返回信息 successful
     * @return  array data &nbsp; 返回数据 successful
     */
    public function edit()
    {
        $authrulespecial = new AuthRuleSpecialModel;
        if (request()->isAjax()) {
            $id = input('id');
            if (empty($id)) {
                return tocode(100, 'ID不能为空');
            }
            if (request()->isPost()) {
                $data = input('post.');
                if (empty($data)) {
                    return tocode(100, '数据不能为空');
                }
                $info = $authrulespecial->info($data);
                if (!$info) {
                    return tocode(100, '编辑失败');
                }
                return tocode(200, '编辑成功！');
            }
            $res = $authrulespecial->getOne($id);
            return tocode(200, 'ok', $res);
        }
        return view('info');
    }
    /**
     * @title   状态
     * @desc    状态描述
     * @author  橘子味的心
     * @version 1.0
     * @method  POST
     * @param   varchar 字段 &nbsp; 字段名 NO
     * @param   int 字段 &nbsp; 字段名 YES
     * @return  int code &nbsp; 返回参数 200/100
     * @return  string message &nbsp; 返回信息 successful
     * @return  array data &nbsp; 返回数据 successful
     */
    public function status()
    {
        if (request()->isPost()) {
            $id = input('id');
            $status = input('status');
            if (empty($id)) {
                return tocode(100, 'ID不能为空');
            }
            if (empty($status)) {
                $status = 0;
            }
            $authrulespecial = new AuthRuleSpecialModel;
            $status = $authrulespecial->status($id, $status);
            if (!$status) {
                return tocode(100, '修改状态失败');
            }
            return tocode(200, '修改状态成功！');
        }
    }
    /**
     * @title   删除单条
     * @desc    删除单条描述
     * @author  橘子味的心
     * @version 1.0
     * @method  POST
     * @param   varchar 字段 &nbsp; 字段名 NO
     * @param   int 字段 &nbsp; 字段名 YES
     * @return  int code &nbsp; 返回参数 200/100
     * @return  string message &nbsp; 返回信息 successful
     * @return  array data &nbsp; 返回数据 successful
     */
    public function del()
    {
        $authrulespecial = new AuthRuleSpecialModel;
        if (request()->isAjax()) {
            $id = input('id');
            if (empty($id)) {
                return tocode(100, 'ID不能为空');
            }
            $del = $authrulespecial->del($id);
            if (!$del) {
                return tocode(100, '删除失败');
            }
            return tocode(200, '删除成功！');
        }
    }
    /**
     * @title   批量启用、禁用、删除
     * @desc    批量启用、禁用、删除描述
     * @author  橘子味的心
     * @version 1.0
     * @method  POST
     * @param   varchar 字段 &nbsp; 字段名 NO
     * @param   int 字段 &nbsp; 字段名 YES
     * @return  int code &nbsp; 返回参数 200/100
     * @return  string message &nbsp; 返回信息 successful
     * @return  array data &nbsp; 返回数据 successful
     */
    public function handleAll()
    {
        $ids = input('id');
        $type = input('type', 0);
        if (empty($ids)) {
            return tocode(100, 'ID不能为空');
        }
        if (empty($type)) {
            $type = 0;
        }
        $authrulespecial = new AuthRuleSpecialModel();
        $all = $authrulespecial->handleAll($ids, $type);
        switch ($type) {
            case '1':
                $name = '启用';
                break;
            case '2':
                $name = '删除';
                break;
            default:
                $name = '禁用';
                break;
        }
        if (!$all) {
            return tocode(100, $name . '失败');
        }
        return tocode(200, $name . '成功！');
    }
}
